package com.jic.market.service.rest.promotion;

import com.jic.common.base.vo.PageResult;
import com.jic.common.base.vo.RestResult;
import com.jic.market.entity.PromotionEntity;
import com.jic.market.request.PromotionPolymericRequest;
import com.jic.market.request.rest.promotion.PromotionInfoRestRequest;
import com.jic.market.response.PromotionPolymericResponse;
import com.jic.market.response.rest.promotion.PromotionDetailRestResponse;
import com.jic.market.response.rest.promotion.PromotionGoodsSpuRestResponse;
import com.jic.market.response.rest.promotion.PromotionInfoRestResponse;

import java.util.List;

/**
 * description: PromotionRestService
 * date: 2020/4/8 11:16
 * author: wangys
 * version: 1.0
 */
public interface PromotionRestService {

    PromotionInfoRestResponse getPromotinInfo(PromotionInfoRestRequest request);

    PromotionDetailRestResponse promotionDetail(PromotionInfoRestRequest request);

    List<PromotionEntity> getPromotionEntities(PromotionInfoRestRequest request);

    /**
     * 根据优先级获取活动基本信息
     * @param request
     * @return
     */
    PromotionEntity promotionDetailPriority(PromotionInfoRestRequest request);

    /**
     * 根据promotionCode获取活动基本信息
     * @param promotionCode
     * @return
     */
    PromotionEntity promotionDetailByPromotionCode(String promotionCode);

    PageResult<PromotionGoodsSpuRestResponse> getGoodsByPromotionCode(PromotionInfoRestRequest request);

    /**
     * 根据商品列表查询参加的活动列表接口
     * @param request
     * @return
     */
    List<PromotionInfoRestResponse> getPromotinInfos(PromotionInfoRestRequest request);

    /**
    * @Autor: zhaowei
    * @Date: 2020/12/3 02:18
    * @Description: 查询促销聚合促销活动详情
    */
    RestResult<PromotionPolymericResponse> queryPromotionPolymericInfo(PromotionPolymericRequest request);
}
